package exception;

/**
 * 使用当前类测试异常地抛出
 */
public class Person {
        private int age;

    public int getAge() {
        return age;
    }/**
     当一个方法使用throws声明异常抛出时，调用该方法的代码就必须处理这个异常
*/
    public void setAge(int age) throws IllegalAgeException {
        if(age<0 || age>=100){
            //throw new RuntimeException("年龄不合法");//超出合理范围则对外抛出异常
            /*
            当一个方法中使用throw抛出一个异常时，就要求在当前方法上使用throws声明该异常的抛出，只有RuntimeException是个例外
             */
            throw new IllegalAgeException("年龄不合法");//主动throw的方法通常不用try-catch
        }
        this.age = age;
    }
}
